<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    .flex-container {
      height: 200px;
      background-color: skyblue;
      /* 弹性布局 */
      display: flex;
      align-items: center;
    }
    .flex-item {
      line-height: 50px;
      font-size: 30px;
      color: #fff;
      text-align: center;
      background-color: tomato;
      padding: 5px 10px;
      margin: 5px;
    }
    .flex-item:nth-child(1) {
      align-self: auto;
    }
    .flex-item:nth-child(2) {
      align-self: stretch;
    }
    .flex-item:nth-child(3) {
      align-self: flex-start;
    }
    .flex-item:nth-child(4) {
      align-self: flex-end;
    }
    .flex-item:nth-child(5) {
      align-self: center;
    }
    .flex-item:nth-child(6) {
      align-self: baseline;
    }
  </style>
<body>
    <!-- 
        TIP
        align-self属性允许单个项目有与其他项目不一样的对齐方式，可覆盖align-items属性。
        align-self的默认值为auto，表示继承父元素的align-items属性
        如果父元素没有设置align-items属性，则等同于stretch（要生效，元素自身没有设置高度）。

        auto	默认值
        表示继承父元素的align-items属性，如果没有父元素，则等同于stretch。
        stretch	如果项目未设置高度或设为auto，将占满整个容器的高度。
        flex-start	交叉轴的起点对齐
        flex-end	交叉轴的终点对齐
        center	交叉轴的中点对齐
        baseline	项目的第一行文字的基线对齐
    -->

    <div class="flex-container">
        <div class="flex-item">auto</div>
        <div class="flex-item">stretch</div>
        <div class="flex-item">flex-start</div>
        <div class="flex-item">flex-end</div>
        <div class="flex-item">center</div>
        <div class="flex-item">baseline</div>
    </div>
</body>
</html>